// GaiJianDlg.h : header file
//

#if !defined(AFX_GAIJIANDLG_H__44DFCB2D_D389_428B_AFD2_90E8E927FF9C__INCLUDED_)
#define AFX_GAIJIANDLG_H__44DFCB2D_D389_428B_AFD2_90E8E927FF9C__INCLUDED_

#include "Save.h"
#include "VKCode.h"
#include "Hook.h"	// Added by ClassView
#include "afxwin.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CGaiJianDlg dialog

class CGaiJianDlg : public CDialog
{
// Construction
public:
	CGaiJianDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CGaiJianDlg)
	enum { IDD = IDD_GAIJIAN_DIALOG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGaiJianDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CGaiJianDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnClose();
	afx_msg void OnBtnaddproject();
	afx_msg void OnBtnaddkeys();
	afx_msg void OnLvnItemchangedLstprojects(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnNMRClickLstkeys(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnNMRClickLstprojects(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnDeleteproject();
	afx_msg void OnDeletekey();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:

protected:
	void setKey1();
	void setKey2();
	void init();
	void addKeys2List(int key1, int key2);
	void refreshLstKeys();
	void refreshLstProjects();
	void toTray();
	LRESULT onShowTask(WPARAM wParam,LPARAM lParam);
private:
	Hook hook;
	MapKeys* mapKeys;
	//key1 & key2 set
	int key1;
	int key2;
	CEdit edtKey1;
	CEdit edtKey2;
	CEdit edtProjectName;
	CListCtrl lstProjects;
	CListCtrl lstKeys;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GAIJIANDLG_H__44DFCB2D_D389_428B_AFD2_90E8E927FF9C__INCLUDED_)
